<?php

 class Admin {

     public
             function getUsuarioLoginSenha( $pdo, $usuario, $senha ) {
         $obj = $pdo->prepare( "SELECT 
                                                u.usuarioid,  u.usuarionome, 
                                                u.usuariologin, u.visaousuario_visaousuarioid,
                                                vu.visaousuarionome
                                           FROM 
                                                usuario u,
                                                visaousuario vu
                                            WHERE
                                                u.visaousuario_visaousuarioid = vu.visaousuarioid AND
                                                u.usuariologin = :usuario AND 
                                                u.usuariosenha = :senha" );

         $obj->bindParam( ":usuario", $usuario );
         $obj->bindParam( ":senha", $senha );

         return ($obj->execute()) ? $obj->fetch( PDO::FETCH_OBJ ) : false;
     }

     public
             function getTodosUsuarios( $pdo ) {
         $obj = $pdo->prepare( "SELECT 
                                                u.usuarioid,  u.usuarionome, 
                                                u.usuariologin, u.visaousuario_visaousuarioid,
                                                vu.visaousuarionome
                                           FROM 
                                                usuario u,
                                                visaousuario vu
                                            WHERE
                                                u.visaousuario_visaousuarioid = vu.visaousuarioid
                                            ORDER BY
                                                u.usuariologin ASC" );

         return ($obj->execute()) ? $obj->fetchAll( PDO::FETCH_ASSOC ) : false;
     }

     public
             function getUsuarioId( $pdo, $idusuario ) {
         $obj = $pdo->prepare( "SELECT 
                                                u.usuarioid,  u.usuarionome, 
                                                u.usuariologin, u.visaousuario_visaousuarioid,
                                                vu.visaousuarionome
                                           FROM 
                                                usuario u,
                                                visaousuario vu
                                            WHERE
                                                u.visaousuario_visaousuarioid = vu.visaousuarioid and 
                                                usuarioid = :idusuario" );

         $obj->bindParam( ":idusuario", $idusuario );
         return ($obj->execute()) ? $obj->fetch( PDO::FETCH_ASSOC ) : false;
     }

     public function alteraDadosUsuario( $pdo, $idusuario, $nome, $visao,  $senha = null ) {
         
       
         if ( $senha == null ) {
             $sql = "UPDATE usuario SET  usuarionome=?,  visaousuario_visaousuarioid=?   WHERE  usuarioid=?";
            
             $obj = $pdo->prepare( $sql );
             $obj->execute( array( $nome,$visao, $idusuario ) );
          
         } else {
             $sql = "UPDATE 
                            usuario
                        SET 
                             usuarionome=?,  visaousuario_visaousuarioid=?, usuariosenha=?
                        WHERE
                            usuarioid=?";
             $obj = $pdo->prepare( $sql );
             $obj->execute( array( $nome,$visao,md5( $senha ), $idusuario ) );
         }

         return ($obj) ? $obj : false;
     }

     public
             function cadastrarUsuario( $pdo, $usuario, $nome, $senha,$visao ) {

         $ins = $pdo->prepare( "INSERT INTO usuario"
                 . " (usuariologin, usuarionome, usuariosenha,visaousuario_visaousuarioid) "
                 . "VALUES (:usuario,:nome,:senha,:visao)" );
         $ins->bindParam( ":usuario", $usuario );
         $ins->bindParam( ":nome", $nome );
         $ins->bindParam( ":visao", $visao );
         $ins->bindParam( ":senha", md5( $senha ) );

         $obj = $ins->execute();

         return ($obj) ? $obj : false;
     }

     public
             function excluirUsuario( $pdo, $idusuario ) {
         $ins = $pdo->prepare( "DELETE FROM usuario WHERE 	usuarioid=:idusuario" );
         $ins->bindParam( ":idusuario", $idusuario );

         $obj = $ins->execute();

         return ($obj) ? $obj : false;
     }

     public
             function getTodasVisaoUsuario( $pdo ) {
         $obj = $pdo->prepare( "SELECT 
                                                    visaousuarioid, visaousuarionome
                                            FROM
                                                    visaousuario
                                            ORDER BY
                                                    visaousuarionome ASC
							" );

         return ($obj->execute()) ? $obj->fetchAll( PDO::FETCH_ASSOC ) : false;
     }

 }
 